package com.mmd.openfire_admin.generator.pojo;

import java.util.ArrayList;
import java.util.List;

public class OfpubsubsubscriptionExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OfpubsubsubscriptionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andServiceidIsNull() {
            addCriterion("serviceID is null");
            return (Criteria) this;
        }

        public Criteria andServiceidIsNotNull() {
            addCriterion("serviceID is not null");
            return (Criteria) this;
        }

        public Criteria andServiceidEqualTo(String value) {
            addCriterion("serviceID =", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotEqualTo(String value) {
            addCriterion("serviceID <>", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThan(String value) {
            addCriterion("serviceID >", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThanOrEqualTo(String value) {
            addCriterion("serviceID >=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThan(String value) {
            addCriterion("serviceID <", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThanOrEqualTo(String value) {
            addCriterion("serviceID <=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLike(String value) {
            addCriterion("serviceID like", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotLike(String value) {
            addCriterion("serviceID not like", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidIn(List<String> values) {
            addCriterion("serviceID in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotIn(List<String> values) {
            addCriterion("serviceID not in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidBetween(String value1, String value2) {
            addCriterion("serviceID between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotBetween(String value1, String value2) {
            addCriterion("serviceID not between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andNodeidIsNull() {
            addCriterion("nodeID is null");
            return (Criteria) this;
        }

        public Criteria andNodeidIsNotNull() {
            addCriterion("nodeID is not null");
            return (Criteria) this;
        }

        public Criteria andNodeidEqualTo(String value) {
            addCriterion("nodeID =", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidNotEqualTo(String value) {
            addCriterion("nodeID <>", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidGreaterThan(String value) {
            addCriterion("nodeID >", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidGreaterThanOrEqualTo(String value) {
            addCriterion("nodeID >=", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidLessThan(String value) {
            addCriterion("nodeID <", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidLessThanOrEqualTo(String value) {
            addCriterion("nodeID <=", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidLike(String value) {
            addCriterion("nodeID like", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidNotLike(String value) {
            addCriterion("nodeID not like", value, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidIn(List<String> values) {
            addCriterion("nodeID in", values, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidNotIn(List<String> values) {
            addCriterion("nodeID not in", values, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidBetween(String value1, String value2) {
            addCriterion("nodeID between", value1, value2, "nodeid");
            return (Criteria) this;
        }

        public Criteria andNodeidNotBetween(String value1, String value2) {
            addCriterion("nodeID not between", value1, value2, "nodeid");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andJidIsNull() {
            addCriterion("jid is null");
            return (Criteria) this;
        }

        public Criteria andJidIsNotNull() {
            addCriterion("jid is not null");
            return (Criteria) this;
        }

        public Criteria andJidEqualTo(String value) {
            addCriterion("jid =", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotEqualTo(String value) {
            addCriterion("jid <>", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidGreaterThan(String value) {
            addCriterion("jid >", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidGreaterThanOrEqualTo(String value) {
            addCriterion("jid >=", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLessThan(String value) {
            addCriterion("jid <", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLessThanOrEqualTo(String value) {
            addCriterion("jid <=", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLike(String value) {
            addCriterion("jid like", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotLike(String value) {
            addCriterion("jid not like", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidIn(List<String> values) {
            addCriterion("jid in", values, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotIn(List<String> values) {
            addCriterion("jid not in", values, "jid");
            return (Criteria) this;
        }

        public Criteria andJidBetween(String value1, String value2) {
            addCriterion("jid between", value1, value2, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotBetween(String value1, String value2) {
            addCriterion("jid not between", value1, value2, "jid");
            return (Criteria) this;
        }

        public Criteria andOwnerIsNull() {
            addCriterion("owner is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIsNotNull() {
            addCriterion("owner is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerEqualTo(String value) {
            addCriterion("owner =", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotEqualTo(String value) {
            addCriterion("owner <>", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerGreaterThan(String value) {
            addCriterion("owner >", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerGreaterThanOrEqualTo(String value) {
            addCriterion("owner >=", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLessThan(String value) {
            addCriterion("owner <", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLessThanOrEqualTo(String value) {
            addCriterion("owner <=", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerLike(String value) {
            addCriterion("owner like", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotLike(String value) {
            addCriterion("owner not like", value, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerIn(List<String> values) {
            addCriterion("owner in", values, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotIn(List<String> values) {
            addCriterion("owner not in", values, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerBetween(String value1, String value2) {
            addCriterion("owner between", value1, value2, "owner");
            return (Criteria) this;
        }

        public Criteria andOwnerNotBetween(String value1, String value2) {
            addCriterion("owner not between", value1, value2, "owner");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(String value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(String value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(String value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(String value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(String value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLike(String value) {
            addCriterion("state like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotLike(String value) {
            addCriterion("state not like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<String> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<String> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(String value1, String value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(String value1, String value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andDeliverIsNull() {
            addCriterion("deliver is null");
            return (Criteria) this;
        }

        public Criteria andDeliverIsNotNull() {
            addCriterion("deliver is not null");
            return (Criteria) this;
        }

        public Criteria andDeliverEqualTo(Byte value) {
            addCriterion("deliver =", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverNotEqualTo(Byte value) {
            addCriterion("deliver <>", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverGreaterThan(Byte value) {
            addCriterion("deliver >", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverGreaterThanOrEqualTo(Byte value) {
            addCriterion("deliver >=", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverLessThan(Byte value) {
            addCriterion("deliver <", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverLessThanOrEqualTo(Byte value) {
            addCriterion("deliver <=", value, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverIn(List<Byte> values) {
            addCriterion("deliver in", values, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverNotIn(List<Byte> values) {
            addCriterion("deliver not in", values, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverBetween(Byte value1, Byte value2) {
            addCriterion("deliver between", value1, value2, "deliver");
            return (Criteria) this;
        }

        public Criteria andDeliverNotBetween(Byte value1, Byte value2) {
            addCriterion("deliver not between", value1, value2, "deliver");
            return (Criteria) this;
        }

        public Criteria andDigestIsNull() {
            addCriterion("digest is null");
            return (Criteria) this;
        }

        public Criteria andDigestIsNotNull() {
            addCriterion("digest is not null");
            return (Criteria) this;
        }

        public Criteria andDigestEqualTo(Byte value) {
            addCriterion("digest =", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestNotEqualTo(Byte value) {
            addCriterion("digest <>", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestGreaterThan(Byte value) {
            addCriterion("digest >", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestGreaterThanOrEqualTo(Byte value) {
            addCriterion("digest >=", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestLessThan(Byte value) {
            addCriterion("digest <", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestLessThanOrEqualTo(Byte value) {
            addCriterion("digest <=", value, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestIn(List<Byte> values) {
            addCriterion("digest in", values, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestNotIn(List<Byte> values) {
            addCriterion("digest not in", values, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestBetween(Byte value1, Byte value2) {
            addCriterion("digest between", value1, value2, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestNotBetween(Byte value1, Byte value2) {
            addCriterion("digest not between", value1, value2, "digest");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyIsNull() {
            addCriterion("digest_frequency is null");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyIsNotNull() {
            addCriterion("digest_frequency is not null");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyEqualTo(Integer value) {
            addCriterion("digest_frequency =", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyNotEqualTo(Integer value) {
            addCriterion("digest_frequency <>", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyGreaterThan(Integer value) {
            addCriterion("digest_frequency >", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyGreaterThanOrEqualTo(Integer value) {
            addCriterion("digest_frequency >=", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyLessThan(Integer value) {
            addCriterion("digest_frequency <", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyLessThanOrEqualTo(Integer value) {
            addCriterion("digest_frequency <=", value, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyIn(List<Integer> values) {
            addCriterion("digest_frequency in", values, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyNotIn(List<Integer> values) {
            addCriterion("digest_frequency not in", values, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyBetween(Integer value1, Integer value2) {
            addCriterion("digest_frequency between", value1, value2, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andDigestFrequencyNotBetween(Integer value1, Integer value2) {
            addCriterion("digest_frequency not between", value1, value2, "digestFrequency");
            return (Criteria) this;
        }

        public Criteria andExpireIsNull() {
            addCriterion("expire is null");
            return (Criteria) this;
        }

        public Criteria andExpireIsNotNull() {
            addCriterion("expire is not null");
            return (Criteria) this;
        }

        public Criteria andExpireEqualTo(String value) {
            addCriterion("expire =", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireNotEqualTo(String value) {
            addCriterion("expire <>", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireGreaterThan(String value) {
            addCriterion("expire >", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireGreaterThanOrEqualTo(String value) {
            addCriterion("expire >=", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireLessThan(String value) {
            addCriterion("expire <", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireLessThanOrEqualTo(String value) {
            addCriterion("expire <=", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireLike(String value) {
            addCriterion("expire like", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireNotLike(String value) {
            addCriterion("expire not like", value, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireIn(List<String> values) {
            addCriterion("expire in", values, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireNotIn(List<String> values) {
            addCriterion("expire not in", values, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireBetween(String value1, String value2) {
            addCriterion("expire between", value1, value2, "expire");
            return (Criteria) this;
        }

        public Criteria andExpireNotBetween(String value1, String value2) {
            addCriterion("expire not between", value1, value2, "expire");
            return (Criteria) this;
        }

        public Criteria andIncludebodyIsNull() {
            addCriterion("includeBody is null");
            return (Criteria) this;
        }

        public Criteria andIncludebodyIsNotNull() {
            addCriterion("includeBody is not null");
            return (Criteria) this;
        }

        public Criteria andIncludebodyEqualTo(Byte value) {
            addCriterion("includeBody =", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyNotEqualTo(Byte value) {
            addCriterion("includeBody <>", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyGreaterThan(Byte value) {
            addCriterion("includeBody >", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyGreaterThanOrEqualTo(Byte value) {
            addCriterion("includeBody >=", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyLessThan(Byte value) {
            addCriterion("includeBody <", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyLessThanOrEqualTo(Byte value) {
            addCriterion("includeBody <=", value, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyIn(List<Byte> values) {
            addCriterion("includeBody in", values, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyNotIn(List<Byte> values) {
            addCriterion("includeBody not in", values, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyBetween(Byte value1, Byte value2) {
            addCriterion("includeBody between", value1, value2, "includebody");
            return (Criteria) this;
        }

        public Criteria andIncludebodyNotBetween(Byte value1, Byte value2) {
            addCriterion("includeBody not between", value1, value2, "includebody");
            return (Criteria) this;
        }

        public Criteria andShowvaluesIsNull() {
            addCriterion("showValues is null");
            return (Criteria) this;
        }

        public Criteria andShowvaluesIsNotNull() {
            addCriterion("showValues is not null");
            return (Criteria) this;
        }

        public Criteria andShowvaluesEqualTo(String value) {
            addCriterion("showValues =", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesNotEqualTo(String value) {
            addCriterion("showValues <>", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesGreaterThan(String value) {
            addCriterion("showValues >", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesGreaterThanOrEqualTo(String value) {
            addCriterion("showValues >=", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesLessThan(String value) {
            addCriterion("showValues <", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesLessThanOrEqualTo(String value) {
            addCriterion("showValues <=", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesLike(String value) {
            addCriterion("showValues like", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesNotLike(String value) {
            addCriterion("showValues not like", value, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesIn(List<String> values) {
            addCriterion("showValues in", values, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesNotIn(List<String> values) {
            addCriterion("showValues not in", values, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesBetween(String value1, String value2) {
            addCriterion("showValues between", value1, value2, "showvalues");
            return (Criteria) this;
        }

        public Criteria andShowvaluesNotBetween(String value1, String value2) {
            addCriterion("showValues not between", value1, value2, "showvalues");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeIsNull() {
            addCriterion("subscriptionType is null");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeIsNotNull() {
            addCriterion("subscriptionType is not null");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeEqualTo(String value) {
            addCriterion("subscriptionType =", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeNotEqualTo(String value) {
            addCriterion("subscriptionType <>", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeGreaterThan(String value) {
            addCriterion("subscriptionType >", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeGreaterThanOrEqualTo(String value) {
            addCriterion("subscriptionType >=", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeLessThan(String value) {
            addCriterion("subscriptionType <", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeLessThanOrEqualTo(String value) {
            addCriterion("subscriptionType <=", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeLike(String value) {
            addCriterion("subscriptionType like", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeNotLike(String value) {
            addCriterion("subscriptionType not like", value, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeIn(List<String> values) {
            addCriterion("subscriptionType in", values, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeNotIn(List<String> values) {
            addCriterion("subscriptionType not in", values, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeBetween(String value1, String value2) {
            addCriterion("subscriptionType between", value1, value2, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiontypeNotBetween(String value1, String value2) {
            addCriterion("subscriptionType not between", value1, value2, "subscriptiontype");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthIsNull() {
            addCriterion("subscriptionDepth is null");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthIsNotNull() {
            addCriterion("subscriptionDepth is not null");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthEqualTo(Byte value) {
            addCriterion("subscriptionDepth =", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthNotEqualTo(Byte value) {
            addCriterion("subscriptionDepth <>", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthGreaterThan(Byte value) {
            addCriterion("subscriptionDepth >", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthGreaterThanOrEqualTo(Byte value) {
            addCriterion("subscriptionDepth >=", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthLessThan(Byte value) {
            addCriterion("subscriptionDepth <", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthLessThanOrEqualTo(Byte value) {
            addCriterion("subscriptionDepth <=", value, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthIn(List<Byte> values) {
            addCriterion("subscriptionDepth in", values, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthNotIn(List<Byte> values) {
            addCriterion("subscriptionDepth not in", values, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthBetween(Byte value1, Byte value2) {
            addCriterion("subscriptionDepth between", value1, value2, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andSubscriptiondepthNotBetween(Byte value1, Byte value2) {
            addCriterion("subscriptionDepth not between", value1, value2, "subscriptiondepth");
            return (Criteria) this;
        }

        public Criteria andKeywordIsNull() {
            addCriterion("keyword is null");
            return (Criteria) this;
        }

        public Criteria andKeywordIsNotNull() {
            addCriterion("keyword is not null");
            return (Criteria) this;
        }

        public Criteria andKeywordEqualTo(String value) {
            addCriterion("keyword =", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordNotEqualTo(String value) {
            addCriterion("keyword <>", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordGreaterThan(String value) {
            addCriterion("keyword >", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordGreaterThanOrEqualTo(String value) {
            addCriterion("keyword >=", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordLessThan(String value) {
            addCriterion("keyword <", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordLessThanOrEqualTo(String value) {
            addCriterion("keyword <=", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordLike(String value) {
            addCriterion("keyword like", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordNotLike(String value) {
            addCriterion("keyword not like", value, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordIn(List<String> values) {
            addCriterion("keyword in", values, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordNotIn(List<String> values) {
            addCriterion("keyword not in", values, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordBetween(String value1, String value2) {
            addCriterion("keyword between", value1, value2, "keyword");
            return (Criteria) this;
        }

        public Criteria andKeywordNotBetween(String value1, String value2) {
            addCriterion("keyword not between", value1, value2, "keyword");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}